Academic Open Internet Journal

www.acadjournal.com

Volume 12, 2004

 

 

 

A Novel Steganography Scheme for

RGB images with high image quality and Data hiding capacity

 

UMAMAHESWARI1, MANOJ KUMAR2, A.SHANMUGAM3

1Research Scholar, 2Graduate Student, 3Professor

Department of Electronics & Communication Engineering

3Professor & Head

Department of Electronics and communication Engineering

PSG College of Technology, Coimbatore, INDIA

Email: gumabhaskar@yahoo.co.in

 

ABSTRACT:This paper presents a novel steganography scheme capable of concealing a piece of critical information in a host image that is a RGB image.  The critical information is enciphered with the help of separate public key.  This enciphered critical information is then embedded into the image blocks.  A binary key matrix and a weight matrix are used as secret keys to protect the hidden information.  Given a host image of size m x n, the proposed scheme can hide as many as  bits of data in the image by changing, at most two bits in each block of size m x n.   This scheme provides a higher security, embedding capacity and maintains higher image quality of the host image than the available conventional schemes. The choice of weight matrix prevents the brute force attack. The software implementation of this paper has been done using MATLAB [3]. The enciphered data bits are extracted and then deciphered with the help of same public key used for encryption.  Simulation results show that Image Quality Measures (IMQ) such as Peak Signal to Noise Ratio (PSNR) and Correlation of this proposed scheme are better than the conventional LSB replacing technique.

Index terms: -Steganography, data hiding, security, cryptography.

1. INTRODUCTION

1.1 STEGANOGRAPHY

           

Steganography [3] is the process of concealing secret information so that its presence cannot be detected from the outside environment. When the information is embedded in the cover object, then the object is called stego-object.  Classical steganographic techniques [4] use the computer code, video film or an audio recording as the cover-objects to embed a secret message, which can be a copyright mark, a serial number, etc.  Thus a mark can be embedded in a cover text giving a stego-text, a text can be embedded in a cover image giving a stego-image.  A secret public key accomplishes this embedding scheme and it is difficult for a third one to identify or remove the embedded information without this key. 

Another form of Steganography, called Watermarking [1], is being used increasingly by the businesses.  Watermarking is used for identification and entails embedding a unique piece of information within a medium without altering the medium noticeable.  The only difference between watermarking and steganography is that in watermarking the cover is the object of communication while in steganography the hidden message is the object of communication.

1.2 STATE OF ART

            The purpose of the Steganography is in general to hide data well enough that unintended recipients do not suspect about steganographic medium of containing hidden data. Cryptography [2] encrypts a message so that it cannot be understood while Steganography hides the message in order to make it not seen.  Cryptography encodes data so that an unintended recipient cannot understand its intended meaning but Steganography does not alter data to make it unusable to an unintended recipient.  Most Steganographic methods also encrypt the message so even if the presence of the message is detected, deciphering (decrypting) the message will still be required.  Steganography is complementary to Cryptography because it adds an extra layer of security.

1.4 CONVENTIONAL SCHEME:

            Data hiding is generally achieved by changing some unnecessary information in the host image.  For example, given a color image, the lease-significant bit (LSB) of each pixel can be changed to embed the hidden secret. Hiding data in a binary image is a more challenging task, since changing any pixel can be easily detected.   To ameliorate the image hiding quality, and hiding capacity, our proposed scheme is capable of hiding a large amount of data by changing a small number of bits in the original binary image.  Specifically, given an m x n image block, the proposed scheme can conceal as many as [log 2 (mn+1)] bits of data in the block by changing at most, two bits in the block.  This approach is much more effective than the available conventional schemes, which can hide atmost, one bit by changing atmost, one bit in the block.

1.5 ADVANTAGES OF PROPOSED SCHEME:

Ø      Maximum number of pixels that can be modified in the binary image is fixed.  If we consider image block of size 2mn, we can hide  bits by changing atmost, two bits in the block, whereas other conventional scheme can partition the image into two blocks, each of size mn.  Then atmost, two bits in the image can be modified o conceal two bits of data.  Our scheme offers a data-hiding ratio this  times that of available schemes [7].

Ø         Because of alteration of fewer pixels in the image, the image quality after modification can be significantly improved and the data is less detectable.

2. PROPOSED DATA HIDING SCHEME FOR RGB IMAGES

            The proposed scheme uses a binary matrix and an integer weight matrix as secret keys.  The operator XOR is adopted so that the keys cannot be compromised easily.  Another important function of the weight matrix is to increase the data-hiding capacity.  The inputs to our scheme are as follows.

1.                  F is a cover image (i.e. RGB), which is to be altered to embed the data.  Here, F is partitioned into the blocks of size m x n.  For simplicity, we assume that the size of F is a multiple of m x n.

2.                  K is a secret key shared by the sender and the receiver.  It is a randomly selected matrix of size m x n.

3.                  W is a secret-weight matrix shared by the sender and the receiver.  It is an integer matrix of size m x n whose content satisfies some requirements.

4.                  r is the number of bits to be embedded in each m x n block of F.  The value of r should satisfy the following relation.

5.         B is critical information consisting of kr bits to be embedded in F, where k is the number of m x n blocks in F.

2.1. WEIGHT MANAGEMENT

Illustrative example:

The purpose of this example is to show how to manage weights.  The next section gives the complete scheme.

Let us assume the following inputs.

F : An image block ; K : Key matrix:W : Weight matrix

Step 1:  Perform the bitwise XOR operation.

F = [ 1 1 0  1 0 0  1 1 0]        K = [ 0 1 1  1 1 0  0 1 1 ]       W = [ 1 2 3  1 2 3  1 2 3 ]

 

 

Step 2:  Perform the component-wise multiplication operation of (Fi Å K) with the weight matrix.

Text Box: (Fi Å K) Ä W = [ 1 0 1  0 1 0  1 0 1 ] Ä [ 1 2 3  1 2 3  1 2 3 ] = [ 1 0 3  0 2 0  1 0 3]

                                        

 

Step 3:  Sum up all the elements in the rightmost matrix.

Text Box: SUM ((Fi Å K) Ä W) = 1 + 3 + 2 + 1 + 3 = 10 º 2 (mod 4)

 

 

Step 4: Assume the two data bits b1b2  (say 2) to be embedded into the block Fi.  For that, it should satisfy the following condition.

SUM ((Fi Å K) Ä W) º b1b2  (mod 4)

If the condition in Step 4 is not satisfied, some of the bits in Fi should be modified such that the condition holds good.

Steps to swap the bits in Fi:

Ø      Since the above condition is satisfied in our example, Fi does not need to be changed.

Ø      Notice that if we complement bit [Fi]j,k then [Fi Å K]j,k will also be complemented.

Ø      If [Fi Å K]j,k is changed from 0 to 1, then the modular sum will be increased by wj,k.

Ø      If [Fi Å K]j,k is changed from 1 to 0, then the modular sum will be decreased by wj,k.

For example, if we change [Fi]1,1  the sum will be decreased by w1,1 = 1, and if we change [Fi]1,2 the sum will be increased by w1,2 = 2. For better understanding, the swapping process is discussed in 2.3.

2.2. HIDING STEPS:

            Definition 1:  An m x n matrix W can serve as a weight matrix if each element of {1,2,3,…..,2r – 1} appears atleast once in W. {[W]i,j , i=1,j=1,2,3….n} = {1,2,3,…,2r – 1}.

Ø      We can first pick 2r – 1 elements in matrix W, and randomly assign {1,2,3,…,2r – 1} to them.

Ø      The remaining mn – (2r – 1) elements in W can then be assigned with arbitrary values. 

2.3. EMBEDDING SCHEME:

 

The embedding scheme is derived in four steps.

 

1.      Compute Fi Å K.

2.      Compute SUM ((Fi Å K) Ä W).

3.      From the matrix Fi Å K, compute for each w = 1,…,2r – 1 the following set.

Sw = {(j,k) | ([W]j,k  = w AND [Fi Å K]j,k = 0)  OR ([([W]j,k  = 2r  -  w AND [Fi Å K]j,k = 1)

4.      Sw represents the set containing each matrix index (j,k). such that complementing [Fi]j,k would increase the sum in step 2 by w.  Two possibilities to achieve this are

v     if [W]j,k  = w and [Fi Å K]j,k = 0, then complementing [Fi]j,k will increase the weight by w.

v     if [W]j,k  = 2r -  w and [Fi Å K]j,k = 1, then complementing [Fi]j,k will decrease the weight by 2r -  w or equivalently increase the sum by w (under mod 2r).

5.      Weight Difference (d) = (b1b2….br) - SUM ((Fi Å K) Ä W).

 

3. ILLUSTRATION

Let F1 and F2  be two image blocks of size 1 x 16

Let r be 3.

F1

0

1

0

1

1

0

0

0

1

0

0

0

0

0

0

0

F2

1

0

0

0

1

0

1

0

0

1

1

1

0

1

1

1

Let K be the key matrix

K

1

1

0

0

0

1

0

0

1

1

1

0

0

0

1

0

Let W be the weight matrix

W

1

2

3

4

5

6

7

1

2

3

4

5

6

7

1

2

Ri = Fi Å K

R1

1

0

0

1

1

1

0

0

0

1

1

0

0

0

1

0

R2

0

1

0

0

1

1

1

0

1

0

0

1

0

1

0

1

 

 

Wti = Ri Ä W

Wt1

1

0

0

4

5

6

0

0

0

3

4

0

0

0

1

0

Wt2

0

2

0

0

5

6

7

0

2

0

0

5

0

7

0

2

 

SUM (Wti) (mod 2r)

Datai

Wt to be incremented

Wt to be decremented

24º0 (mod 8)

010

2

6

36º1 (mod 8)

001

5

3

 

Ri¢ = Fi¢ Å K

R1

1

1

0

1

1

1

0

0

0

1

1

0

0

0

1

0

R2

0

1

1

0

1

0

1

0

1

0

0

1

0

1

0

1

 

The modified image blocks are:

F1¢

0

0

0

1

1

0

0

0

1

0

0

0

0

0

0

0

F2¢

1

0

1

0

1

1

1

0

0

1

1

1

0

1

1

1

 

4. EXPERIMENTAL RESULTS:

 

 

*****************************************************************

*                                                               *

*                   The Matrix Screen Saver                     *

*                                                               *

*                 Version 1.06 - 17 January 2002                *

*              Copyright 2000 - Meticulous Software             *

*                 www.meticulous-software.co.uk                 *

*            All Warner Bros copyrights acknowledged            *

*                                                               *

*                         Written By                            *

*                        Philip Symons                          *

*                                                               *

*                     Matrix-Code Graphics                      *

*                      Andrew Lucas-Dean                        *

*                                                               *

*****************************************************************

 

 

 

 

a) Cover Image

b) Hidden Message Information before encryption

 

The hidden message information will be encrypted in the following way with the help of simple XOR Operation

 

Fig.1

4.1  PROPOSED SCHEME:

 

(a)

(b)

(c)

(d)

(e)

(f)

(g)

(h)

 

Fig.2  The Stego Images:   Message information is hidden in Least Significant

a) 1st bit   b) 2nd bit   c) 3rd bit   d) 4th bit   e) 5th bit   f) 6th bit   g) 7th bit    h) 8th bit.

 

4.2 LSB REPLACING TECHNIQUE:

 

(a)

(b)

(c)

(d)

(e)

(f)

(g)

(h)

 

 

Fig.3  The Stego Images:   Message information is hidden in Least Significant

a) 1st bit   b) 2nd bit   c) 3rd bit   d) 4th bit   e) 5th bit   f) 6th bit   g) 7th bit    h) 8th bit.

 

Table 1

4.3 COMPARATIVE SIMULATION RESULTS

Bit Position

LSB Replacing Technique

Proposed Scheme

MSE

PSNR

CORR

MSE

PSNR

CORR

1

0.4352

51.7440

1.0000

0.0181

65.5530

1.0000

2

0.5292

50.8950

1.0000

0.0720

59.5582

1.0000

3

0.9418

48.3911

0.9999

0.2834

53.6074

1.0000

4

2.6017

43.9783

0.9998

1.1603

47.4853

0.9999

5

8.8293

38.6715

0.9993

4.7449

41.3686

0.9996

6

33.1416

32.9271

0.9973

18.0266

35.5717

0.9985

7

153.1639

26.2792

0.9875

72.5866

29.5222

0.9940

8

677.2790

19.8231

0.9457

286.5039

23.5595

0.9765

 

 

 

(a)              

(b)              

(c)              

 

Fig  4 IMQ measures

 

The Simulations are performed by embedding the Message Information (Fig.1b) after encryption (Fig.1c) inside the Cover Image (Fig.1a) [3]. The Stego images of both the proposed scheme and conventional LSB replacing scheme are shown in Fig.2 (a-h) and Fig.3 (a-h) for comparison. The effect of distortions are evaluated with IQM and tabulated in   Table 1. The graphs based on these IMQ measures also shown in Fig.4 [3,4]. The results of the proposed scheme are compared with the results of simple LSB replacing technique. 

When the process is done on 8th bit of pixel element, the Cover Image gets distorted in the LSB replacing technique (Fig.3h). But in the proposed scheme, such distortion becomes inconspicuous (Fig.2h).  In this case, the IMQ measures such as Mean Square Error, Peak Signal to Noise Ratio and Correlation are also worst in LSB replacing technique because the number of bits modified in the Cover Image is equal to the number of bits in the encrypted Message Information.  But in the proposed scheme, since atmost only two bits are modified in each block, the image quality is not degraded. 

 

CONCLUSION:

 

The new scheme presented here is capable of hiding large amount of information in the given RGB Image.  This scheme has following features: a secret key matrix and weight matrix are used to hide the data in secure manner; the data-hiding ratio is improved by weight matrix. An extra layer of security is accomplished by hiding the information in the encrypted form.  Our future work is concerned with improving the security of the scheme by using advanced cryptography techniques and also improving the efficiency by using data compression techniques.

 

REFERENCES:

[1]    Bruce Schneier, “Applied Cryptography”, Second Edition.

[2]    William Stallings, “Cryptography and Network Security”,

[3]    MATLAB 6.2 Software, Mathworks Inc, 2000.

[4]    Microsoft Office, Excel Software, 2000.

[5]   Ingemar J. Cox, Joe Kilian, Tom Leighton and Talal Shamoon, “Secure Spread        

Spectrum Watermarking for  Multimedia," IEEE Trans. on Image Processing, Vol.  6,No. 12, 1997.

      [6]   W. Bender, D. Gruhl, N. Morimoto, and A. Lu, “Techniques for data hiding.”    

            I.B.M.     Systems Journal , vol. 35, no. 3 & 4, pp. 313-336, 1996.

      [7] M. D. Swanson, B. Zu, and A. H. Tewfik, “Robust data hiding for images.” In   

            7th Digital Signal Processing Workshop (DSP 96), pp. 37-40, IEEE, Loen, 

            Norway,  Sep.1996.

 

AUTHORS

           

            1.G.UMAMAHESWARI

Lecturer & Research Scholar,

Department of Electronics and Communication Engineering

PSG College of Technology

Peelamedu

Coimbatore – 641 004

Tamil Nadu

India.Phone : residence : +91-422-2495979

Email : gumabhaskar@yahoo.co.in

Technical College - Bourgas,

All rights reserved, © March, 2000